package com.chen10.cattle.service;

import com.chen10.cattle.model.page.Pager;
import com.chen10.cattle.model.pojo.Cattle;
import com.chen10.cattle.model.vo.*;

import java.util.List;

public interface CattleService {

    List<CattleListVO> getList();

    Pager<TemperatureHistoryVO> getTemperatureHistory(Long cattleId, Integer page, Integer pageSize);

    Pager<WeightHistoryVO> getWeightHistory(Long cattleId, Integer page, Integer pageSize);

    Pager<LocationHistoryVO> getLocationHistory(Long cattleId, Integer page, Integer pageSize);

    // 添加获取牛只详细信息的方法
    CattleDetailVO getCattleDetail(Long cattleId);

    // 修改为返回List而不是Pager
    List<SicknessHistoryVO> getAllSicknessHistory();
    
    // 修改为返回List而不是Pager
    List<SicknessHistoryVO> getSicknessHistoryNoPaging(Long cattleId);

    // 添加牛只
    Cattle addCattle(Cattle cattle);

    // 删除牛只并添加到死亡/出栏记录
    boolean deleteCattleAndAddDeathRecord(DeathCattleVO deathCattleVO);

    // 获取所有牛只（包括已出栏的）
    List<CattleManagementVO> getAllCattleList();
}
